<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
    <script src="../vue.js"></script>
</head>
<body>
<div id="app" >
    <h2 ></h2>
    <App message="hello" :texts="messagec" @getheaderdata="getDataMethod"></App>
</div>

<script>
    var Vheader = {
        data() {
            return {
                msg: '我是头部组件--'
            }
        },

        template: `<div>
                <div>{{ msg }}</div>
                <h2>{{ $attrs }}</h2>
                <h2>{{ $attrs.message }}</h2>
                <button @click="clickHandler">向祖父传值</button>
            </div>`,
        methods:{
            clickHandler:function () {
                this.$emit('getheaderdata','我是孙子的数据')
            }
        }

    }

    // 注册
    var App = {
        data (){
            return{

            }
        },
        // 声明 props
        props: ['message'],
        template: `<div>
                        <h1>我是child</h1>
                        <h2>{{message}}</h2>
                        <h2>{{$attrs}}</h2>
                        <Vheader v-bind="$attrs" v-on="$listeners"></Vheader>
                        <h3>{{$listeners}}</h3>
                    </div>`,
        components:{
            Vheader,
        },
        methods: {
            // getDataMethod:function (val) {
            //     console.log(val)
            // }
        }
    }
    // 创建根实例
    new Vue({
        el: '#app',
        data:{
          messagec:'我是祖父组件的数据',
        },
        components: {
            App
        },
        methods: {
            getDataMethod:function (val) {
                console.log(val)
            }
        },
        // template:`<App message="hello" :texts="messagec" @getHeaderData="getDataMethod"></App>`
    })
</script>
</body>
</html>
